Device designed to compensate for non-linearity of machine shafts

ABSTRACT

A method for the numerical control of machines with several axes, in particular machine tools and robots, to compensate for the inaccuracies occurring when the axes are reversed, wherein varying friction conditions, as well as slackness and torsional effects are compensated using a friction precontrol. Rotation speed reference values are corrected by injecting a correction pulse with an acceleration-dependent injection amplitude and a constant decay time for each axis at the time of passage from one quadrant to another, with the associated change in direction. The injection amplitude and constant decay time are determined for each machine manually or learned in an additional embodiment automatically in a self-learning system in the form of a neural network.

FIELD OF THE INVENTION

The present invention relates to a method for the numerical control ofmachines with several axes, in particular machine tools and robots, withcompensation for the inaccuracies occurring when the axes are reversed.

BACKGROUND OF THE INVENTION

In modern industrial controls used, for example, in machine tools orrobots, path inaccuracies often occur when the axes are reversed,basically caused by varying friction conditions, as well as slacknessand torsional effects. When an axis is accelerated from a negative to apositive velocity or vice-versa, the motion can be disturbed duringpassage through zero due to the varying friction conditions andmechanical non-linearities. In the case of several axes interpolatingwith one another, this condition results in contour errors. This fact isespecially obvious in the case of circular contours, where an axis moveswith maximum translational speed when going from one quadrant toanother, while the second axis changes the sign of its velocity. At suchpoints of discontinuity with change of direction, but also at start fromstandstill, friction, slackness and torsion effects often cause theactual rotation speeds to deviate from the reference rotation speeds. Inthe case of "slackness effects," arising, for example, during theoperation in the form of play between the gears of an associatedgearbox, points of discontinuity result in a hysteresis-type machineoperation. As a result, contour errors are often produced on the workpiece being machined. Since it is desirable that such contourinaccuracies be avoided, a numerical machine control process ispreferably designed so that such path inaccuracies occurring due tochanging friction conditions, slackness effects, and torsional effectswhen the machine axes are reversed can be compensated for with the helpof frictional precontrol through appropriate correction of the rotationspeed reference value.

It is known that conventional processes for the numerical control ofmachines simply add or deduct a constant amount, the slackness, tocompensate for slackness, usually in carriage drives, on the path to betraveled when an axis changes signs. This is normally done once in thecomputation process for each individual control data set (see Weck, M.:Werkzeugmaschinen Machine Tools!, Vol. 3, Automatisierung undSteuerungstechnik Automation and Control Technology!, 3rd ed.,VDI-Verlag 1989,pp. 183 ff). Therefore, in this procedure, no errorcompensation is built into the control process. Since the pathinaccuracies arising when the machine axes are reversed usually alsodepend on the acceleration, the addition or subtraction of a one-timeconstant amount provides no sufficient compensation for inaccuracies ifthe acceleration conditions vary. Instead, a process that is integratedin the main run of numerical control and compensates for pathinaccuracies in real time is sought.

WO 90/07738 discloses a process for correcting non-linearities whereincorrection signals are provided; however, varying accelerationconditions of the machine are not provided for generating suchcorrection signals. In addition, such correction signals are predefinedaccording to a fixed pattern and they cannot be optimized for theparticular machine being used. Furthermore, extensive circuitry isrequired for obtaining a suitable injection point for such a correctionsignal.

From the publication IAS '93 Conference record of the 1993 IEEE IndustryApplications Conference 28th IAS Annual Meeting (Cat. No. 93CH3366-2),Proceedings of IEEE Industry Application Society Annual Meeting,Toronto, Ontario, Canada, Oct. 2-8, 1993, Vol. 3, 1993, pp. 2027-2034,Seidl D. R. et al. there is known a self-learning knowledge-based systemfor slackness compensation, which, however, cannot be used forcompensating other non-linearities such as, for example, varyingfriction conditions or torsional effects. In addition, the slacknesseffects are simulated in the form of characteristic curves, which isvery computation-intensive, since the complete variation of thecharacteristic curves must be determined. This cannot be accomplished inreal time with the required accuracy and with the required response timefor compensating for any non-linearity.

In the aforementioned standard processes, only path inaccuracies due toslackness effects are taken into account. Torsional effects or varyingfriction effects, which require corrections that vary over time, are nottaken into account. Furthermore, non-linearities are always simulated inthe form of characteristic curves, which is very computation-intensiveand, in addition, does not take the different acceleration states of theparticular machine being used in consideration.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a process for numericalcontrol of machines with several axes, in particular machine tools androbots, with compensation for inaccuracies arising when the axes arereversed, so that in addition to path inaccuracies due to slacknesseffects, path inaccuracies caused by varying friction conditions, aswell as torsional effects, are taken into account.

In addition, compensation is done in real time and is an integral partof the numerical control. Acceleration-dependent factors are also takeninto account at the same time.

According to the present invention, the aforementioned object isachieved through the following features:

1.1 Non-linearities due to disturbances are compensated for by africtional precontrol that corrects the rotation speed reference value.

1.2 The rotation speed reference values are corrected by injecting acorrection pulse to the corresponding rotation speed reference value ofeach axis when this axis passes from one quadrant to another with thecorresponding change of signs.

1.3 The time of injection of the correction pulse takes place during thepassage through zero of the rotation speed reference value.

1.4 When the rotation speed reference value passes through zero from thenegative domain to the positive domain, the injection amplitude isadded; when the rotation speed reference value passes through zero fromthe positive domain to the negative domain, the injection amplitude issubtracted.

1.5 The correction pulse has an acceleration-dependent amplitude.

1.6 The duration of the correction pulse and the variation of theacceleration-dependent amplitude are manually determined in advance ascharacteristic curves and/or characteristic curve fields for differentacceleration values for the particular machine used, with the amplitudevalues selected so that they increase starting from a zero acceleration,run at a high level in the domain of medium accelerations and assume asmaller value with a further increasing acceleration.

1.7 The frictional precontrol is incorporated in an axis control as anadditional precontrol branch.

A first advantageous embodiment of the present invention is particularlywell-adapted to the physical properties of the varying friction,slackness, and torsional effects causing path inaccuracies, as theirvariation is compensated for by using an appropriate correction pulseadapted thereto. This embodiment characterized by the following feature:

2.1 A DT1 pulse is used as a correction pulse, whose decay time isconstant or decreases linearly with increasing acceleration.

An alternative embodiment of the present invention avoids manualmeasurement of points of discontinuity of the characteristic curvesand/or fields of characteristic curves of the acceleration-dependentamplitude during the startup of a particular machine tool used, andallows these values to be determined automatically by the controlitself. This is achieved with the following features:

3.1 Non-linearities caused by disturbances are compensated for using africtional precontrol correcting the rotation speed reference values.

3.2 The rotation speed reference values are corrected by injecting acorrection pulse to the respective rotation speed reference value ofeach axis when this axis passes from one quadrant to another with thecorresponding change of signs on this axis.

3.3 The correction pulse has an acceleration-dependent amplitude.

3.4 Both the duration of the correction pulse and the variation of theacceleration-dependent amplitude are determined for differentacceleration values as characteristic curves and/or characteristic curvefields for the particular machine being used by a self-learningknowledge-based system in a learning phase.

3.5 The deviation from the ideal actual rotation speed from the actualrotation speed in the form of an error area appearing in the rotationspeed curve after passage through zero is used as a learning criterionfor the learning phase.

3.6 The frictional precontrol is incorporated in an axis control as anadditional precontrol branch.

A first advantageous embodiment of the alternative development isparticularly well-adapted to the physical properties of the varyingfriction, slackness, and torsional effects causing path inaccuracies, astheir variation is compensated for by using an appropriate correctionpulse adapted thereto. This is characterized by the following feature:

4.1 A DT1 pulse is used as a correction pulse, whose decay time isconstant or decreases linearly with increasing acceleration.

Another advantageous embodiment of the process according to the presentinvention with the use of a self-learning knowledge-based system uses aparticularly effective neural process for this purpose, allowing pathdeviations to be compensated for with great accuracy and also being veryeasily trained. This is characterized by the following feature:

5.1 A neural multilayer Perceptron network with error back-correction asa learning rule is used as a self-learning, knowledge-based system.

Another advantageous embodiment of the present invention uses aparticularly simple form of a neural network, which can be implementedeasily and cost-effectively and provides sufficient compensationaccuracy for the particular application. This embodiment ischaracterized by the following feature:

6.1 A neural Cerebellar model articulation computer network is used as aself-learning knowledge-based system.

Another advantageous embodiment of the present invention uses as alearning criterion for training the neural network input and outputparameters whose values must be mostly determined in a nonerror-compensating numerical control, which provide the informationrequired for abstracting and generalizing the problem at hand in asimple form and which occur proportionally to the point of time when thecorrection pulses are injected, so that the numerical control accordingto the present invention can be implemented very inexpensively. This ischaracterized by the following features:

7.1 The deviation from the ideal desired rotation speed reference valueand the actual rotation speed in the form of an error area generated bythe rotation speed variation after passage through zero is used as thelearning criterion for assigning input values to the desired outputvalues.

7.2 In order to determine the error area, the desired ideal actualrotation speed and actual rotation speed are differentiated firststarting from the point of injection, whereby the constant distancebetween the rotation speed reference value and the actual rotation speedis eliminated, then integrated again and finally integrated again overthe error area.

Another advantageous embodiment of the present invention broadens itsfunctionality by the fact that the system automatically adapts to thevarying conditions during operation and thus makes a new trainingprocess of a neural network by the operator superfluous. This embodimentis characterized by the following feature:

8.1 The learning rule for determining the variation of thecharacteristic curves and/or characteristic curve fields of theacceleration-dependent amplitude is further used in the work phase, sothat the frictional precontrol is constantly adapted to the changedoperating conditions and possible wear phenomena are automaticallycompensated for.

Another advantageous embodiment of the present invention optimizes thecondition of the time of injection of the correction pulse and allowsthe actual values to be corrected by means of a particularly simpledesign. This embodiment is characterized by the following features:

9.1 The correction pulse is injected at the time when the rotation speedreference value passes through zero.

9.2 When the rotation speed reference value passes through zero from thenegative domain to the positive domain, the injection amplitude isadded; when the rotation speed reference value passes through zero fromthe positive domain to the negative domain, the injection amplitude issubtracted.

An advantageous device for performing the process according to thepresent invention is characterized in that it can be implemented withfew additional components and thus at a limited cost and it can beintegrated in an existing axis control. This device includes thefollowing features:

10.1 A frictional precontrol is integrated in an axis control as anadditional precontrol branch.

10.2 There is provided a first differentiator to differentiate theposition reference value and an additional differentiator todifferentiate the rotation speed reference value for accelerationreference values obtained.

10.3 The rotation speed reference values obtained are injected into aninjection logic controlling the injection time when the rotation speedreference value passes through zero.

10.4 There is a storage device provided to receive theacceleration-dependent characteristic amplitude curve obtained, whichstorage device is triggered by the acceleration reference values; thecharacteristic curve of the amplitude increases starting from zeroacceleration, runs at a high level in the area of medium accelerationsand assumes smaller values again when the acceleration furtherincreases.

10.5 The injection amplitudes obtained using the characteristic curve ofthe amplitude are supplied to a correction pulse generator, whichgenerates rotation speed correction values and adds them to a positioncontrol signal of the axis control.

An alternative device allows a neural network to be used as aself-learning knowledge-based system in the above-described device. Itcan be implemented at a low additional cost and also integrates all theadvantageous features of the previously described embodiments of thepresent invention regarding both the process and the device in its formpresented previously. This device includes the following features:

11.1 A frictional precontrol is integrated in an axis control as anadditional precontrol branch.

11.2 There is provided a first differentiator to differentiate theposition reference value and an additional differentiator todifferentiate the rotation speed reference value obtained for generatingthe acceleration reference values.

11.3 The rotation speed reference values are injected into an injectionlogic controlling the injection time.

11.4 There is provided a neural network to whose input the rotationspeed reference values and acceleration reference values are supplied.

11.5 An error value, formed in a logic circuit from the difference ofthe rotation speed reference value and the actual rotation speed, issupplied to the output of the neural network.

11.6 The injection logic is supplied with an amplitude value and a timeconstant by the neural network.

11.7 There is provided a correction pulse generator, triggered by theinjection logic according to the amplitude, the time constant, using therotation speed reference value, and which generates rotation speedcorrection values and adds them to a position control signal of the axiscontrol.

The advantages achieved with the present invention include, inparticular, the fact that with the above-described process, pathinaccuracies caused by different factors, occurring when an axis isreversed, can be compensated for with a single correction process. Thus,inaccuracies of the machine axes caused by both varying frictionconditions and mechanical non-linearities, as well as factors such asslackness effects and torsional effects, can be compensated for.Furthermore, errors are compensated in real time and the processaccording to the present invention becomes an integral part of aconventional numerical control. Where a self-learning knowledge-basedsystem such as a neural network with error back-propagation learningprocess is used, there is achieved the advantage of eliminating theexpensive manual determination of a characteristic curve or a field ofcharacteristic curves by the operator and automating this procedure.Furthermore, the above-described advantages can be implemented in thepresent invention particularly effectively at a low cost and with highprecision by using fewer additional components.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. l shows the variation of a rotation speed with change of sign inrelation to the friction moment, taking into account a frictioncoefficient, as well as the cogging of the actual rotation speed due tofriction.

FIG. 2 shows the correction of an erroneous variation of the actualrotation speed due to friction with the help of a correction pulse.

FIG. 3 shows a circular contour with quadrant transition of twointerpolating axes with an actual variation of the rotation speeddeviating from the desired rotation speed reference value due tofriction effects.

FIG. 4 shows a DT1 correction pulse.

FIG. 5 shows an acceleration-dependent characteristic amplitude curve.

FIG. 6 shows an actual characteristic curve for quadrant errorcompensation.

FIG. 7 shows the integration of the frictional precontrol into an axiscontrol.

FIG. 8 shows quadrant error compensation with the use of a neuralnetwork.

DETAILED DESCRIPTION

In the illustration of FIG. 1, the variation of the friction conditionsis modeled in a simplified manner using a Signum function, where n isthe actual rotation speed, k_(r), is a friction coefficient, and m_(r)is the friction moment. Two coordinate systems are shown. In thecoordinate system shown on the left, the rotation speed is plottedagainst the friction moment, with the rotation speed and the frictionmoment m_(r) related to it, changing signs. In the rotation speeddiagram, shown on the right, in which the rotation speed n is plottedagainst time t, this results in the actual rotation speed n_(ist)"cogging" for a short period of time in the time axis t. As a result,the actual rotation speed variation n_(ist), represented by a solidline, differs from the desired rotation speed reference value n_(soll) ,which is represented by a broken straight line.

Furthermore, FIG. 2 shows another rotation speed diagram, where therotation speed n is plotted against time t. The diagram shows how agiven rotation speed reference value variation n_(soll) must becorrected with a correction value n_(korr) so that the rotation speedvariation n_(ideal) that should be actually obtained corresponds to thevariation of the rotation speed reference value n_(soll) as shown inFIG. 1. The correction pulse h_(korr) is shown in the form of a dottedline and delimits the shaded area between this broken line and the timeaxis.

FIG. 3 shows a circular path traveled by two interpolating axes x and y.The abscissas represent the axis in the X direction, and the ordinatesin the Y direction. They form the four quadrants I, II, III, and IV. Thevariation of the actual rotation speed n_(ist) deviates from thepredefined rotation speed reference value n_(soll) of the circularcontour. The variation of the actual rotation speed has "noses" Na aftereach passage from one quadrant to another due to the "cogging" caused byfriction, departing from the ideal circumference in the directionopposite to its center. The desired circular contour, the rotation speedreference value ns_(soll) is represented in the form of a dottedcircumference in the area of the "nose" Na.

FIG. 4 shows the variation of a DT1 correction pulse n_(korr) (a,t)plotted against time t. The curve starts with an acceleration-dependentinjection amplitude value n_(a) (a) and approximates the time axisexponentially until it reaches zero. The illustration applies to anacceleration a assumed to be constant.

FIG. 5 shows a possible shape of the amplitude characteristic curven_(a) (a) plotted against the absolute value of the acceleration |a|fora time t assumed to be constant. The amplitude increases sharply in thearea of minor acceleration, then becomes constant, subsequentlydecreasing to a lower value where it adjusts itself to a constant valueagain.

FIG. 6 shows the actual amplitude characteristic curve of FIG. 5 for thequadrant error compensation such as, for example, that shown for acircular contour according to FIG. 3. Again, the acceleration-dependentinitial injection amplitude n_(a) (a) of a correction pulse to bedetermined, is plotted between its minimum and maximum values. Startingfrom zero acceleration, the amplitude initially increases sharply, thenwith decreasing rotation acceleration until a maximum amplitude n_(max)(a) is reached at acceleration a1, it gradually decreases from there andfinally adjusts itself at a minimum amplitude n_(min) (a) independentlyof the later, even higher, acceleration at a2.

FIG. 7 shows the integration of the frictional precontrol into anexisting axis control. A position reference value x_(soll) is suppliedto the device, differentiated in a first differentiator D1 so that arotation speed reference value n_(soll) is obtained, which is suppliedto an injection logic AL. Subsequently, the rotation speed referencevalue n_(soll) is differentiated in a second differentiator D2, and thereference acceleration a_(soll) obtained is supplied to a storage deviceK containing the acceleration-dependent characteristic curve of theamplitude. The initial correction n_(a) (a_(soll)) obtained therefrom,also referred to as injection amplitude, is supplied to a pulsegenerator I, which generates an appropriate DT1 correction pulsen_(korr). The injection logic AL controls the start time through a resetsignal R with which it triggers pulse generator I. Within the existingaxis control, the position reference value x_(soll) is supplied to aposition controller LR. Its output is added to correction pulse n_(korr)and supplied to a rotation speed controller DR, which is usuallyimplemented as a PI controller, and therefrom supplied to a machine axisA. The actual position value x_(ist) and the actual rotation speedn_(ist) are available at the output of machine axis A. The actualposition value x_(ist) is supplied as a negative feedback to theposition reference value available on the input side, and the actualrotation speed n_(ist) is supplied as a negative feedback to the inputof rotation speed controller DR.

FIG. 8 shows the device described in FIG. 7 for quadrant errorcompensation with the use of a neural network. It differs from thearrangement illustrated in FIG. 7 in that the reference accelerationformed by differentiator D2 also goes through a filter FL prior to beingsupplied to neural network NN at its input layer. The position referencevalue x_(soll) is also supplied to the input of neural network NN.Rotation speed reference value n_(soll) available after passage throughdifferentiator D1 is also supplied to the input of neural network NN.Rotation speed reference value n_(soll) and the actual rotation speedn_(ist) , available at the output of machine axis A, are supplied to asubtractor SUB, where the rotation speed reference value n_(soll) issubtracted from the actual rotation speed n_(ist) and the difference issupplied to logic unit L, where the difference is processed into anerror term F and this error term F is supplied to the output layer ofneural network NN. Amplitude a and time constant T, which triggerinjection logic AL, are available at the outputs for the work phase.Furthermore, reference accelerations n_(soll) are supplied to injectionlogic AL, as described earlier in the device of FIG. 7. Injection logicAL triggers a correction pulse generator I which generates a correctionpulse n_(korr) which is added to the output signal of positioncontroller LR.

If an axis is accelerated from a negative to a positive speed orvice-versa, the motion is disturbed during passage through zero byvarying friction conditions and mechanical non-linearities such asslackness effects or torsional effects. In the case of axesinterpolating with one another, this condition usually results incontour errors. Therefore, most path inaccuracies that occur when amachine axis is reversed are compensated for according to the presentinvention with the help of a frictional precontrol performing a suitablecorrection of the rotation speed reference value n_(soll). For thispurpose, a characteristic curve is determined for the amplitude of thecorrection pulse n_(a) (a), which is injected in the rotation speedreference value n_(soll).

In order to determine a correction pulse suitable for compensating forpath inaccuracies, it is recommended that the effect of varying frictionconditions be countered on a single machine axis. For this purpose, FIG.1 shows the variation of friction modeled in a simplified manner with aSignum function, where n_(ist) represents the actual rotation speed,k_(r) the friction coefficient, and m_(r) the friction moment. As theactual rotation speed n_(ist) changes directions, friction moment m_(r)also changes signs and the actual rotation speed "cogs" on the time axisfor a short period in the rotation speed diagram. This results in theactual motion of the axis deviating from the programmed rotation speedprofile n_(soll).

This deviation becomes particularly apparent, for example, in the caseof circular contours, where an axis moves with maximum speed whenpassing from one quadrant to another, denoted in FIG. 2 by I, II, III,and IV, while the second axis changes the sign of its velocity, comingto a standstill for a short period of time. The resulting deviationsfrom the circular contour can be determined using a circular shape testor a circular travel. The results of such a circular shape test areshown in FIG. 3. It shows with particular clarity the effect of"cogging" typically appearing during the transition from one quadrant toanother without the compensating measures of the present invention. Thedeviations ("noses") Na in the actual rotation speed n_(ist) can beclearly seen.

With the frictional precontrol according to the present invention, the"cogging" of an axis is avoided by injecting a correction pulse in therotation speed reference value. A DT1 pulse with anacceleration-dependent amplitude n_(a) (a) and constant decay time T isused as a correction pulse. The variation of this correction pulse overtime is shown in FIG. 4 and describes an exponentially decreasingfunction, whose injection amplitude n_(a) (a) is adjustable. Thisrelationship is represented mathematically by the following equation:

    n.sub.korr (a,t)=n.sub.a (a)e.sup.-/ t.

If the amplitude a and time T of the correction pulse are suitablyselected, the desired variation of the actual rotation speed valuen_(ist) can be achieved and the contour deviations disappear. Such acase is illustrated as an example in FIG. 2. Here the cogging of theactual rotation speed n_(ist) shown in FIG. 1 is corrected by theinjection of a correction pulse n_(korr) in the rotation speed referencevalue n_(soll) , which results in the actual rotation speed valuen_(ist), corresponding to the programmed rotation speed profile andshifted by an equivalent time constant of the numerical control shown inFIG. 2. In order to achieve a sufficiently good compensation for thefriction, slackness and torsional effects, the pulse amplitude must beinjected as a function of the acceleration a, while the pulse duration Tmay be constant. The injection amplitude of the correction pulsetherefore cannot remain constant over the entire acceleration range,since at higher accelerations precontrol with smaller compensationvalues must be used than in the case of lower accelerations. For smallvariations in the axis velocity, as, for example, in the jogging mode,quadrant error compensation should not be used at all. Therefore therelationship represented in FIG. 5 is obtained as the characteristiccurve of the amplitude, approximating the actual conditions. Assuming aconstant point in time t, the curve of the injection amplitude n_(a) (a)assumes the following shape. Starting at zero acceleration, thecorrection amplitude increases sharply, then remains at a constant highvalue in the area of a medium acceleration. As acceleration furtherincreases, the value of the correction amplitude decreases again andadjusts itself at a constant, but lower, value in the area of very highaccelerations.

The break points of these characteristic curves depend on the particularmachine tool and must be determined during startup. For this reason, thequadrant error compensation according to the present invention containsa manually adjustable characteristic curve for estimating the injectionamplitude as a function of the acceleration. The characteristic curvecan be characterized by parameters via the machine data. Theinterpolation points of the characteristic curve are determined duringthe startup of the quadrant error compensation of the frictionalprecontrol for any given machine by measurement with a circular shapetest. A quadrant error compensation characteristic curve thus determinedis shown as an example in FIG. 6. The actual variation of the correctionamplitude n_(a) (a) differs from the characteristic curve developedexperimentally (FIG. 5) by its non-linear shape. In the area of verysmall accelerations between zero and al, the correction amplitude risessteeply until it reaches a maximum amplitude n_(max) (a) at accelerationa1. From there, the correction amplitude drops with increasingacceleration and finally, when a greater acceleration a2 is reached, itadjusts itself at a minimum value for the correction amplitude n_(min)(a).

For the circular shape test illustrated in FIG. 3, the actual rotationspeeds n_(ist) remain occasionally equal to zero without thiscompensation for friction and other disturbing influences according tothe present invention during a plurality of position control cycles,after the rotation speed reference value of an axis has passed throughzero. This condition results in the contour errors mentioned earlier. Byinjecting an additional, sufficiently large correction pulse n_(korr)with the correct sign when the rotation speed reference value n_(soll)of an axis passes through zero, the cogging axis is released and thecontour error is minimized. The injection time for the correction pulseis determined by a special injection logic AL. According to the presentinvention, the compensation pulse or correction pulse n_(korr) isinjected at the time the rotation speed reference value n_(soll) passesthrough zero. This is because the passage of the rotation speedreference value n_(soll) through zero can be determined accurately,while the passage of the actual rotation speed n_(ist) through zero canfluctuate. Furthermore, position control usually responds with a delay,and therefore a correction pulse triggered by the actual rotation speedwould act too late to achieve good compensation. The time starting atwhich the compensation is to support the axis motion is the point ofreversal of the direction of travel, i.e., a rotation speed sign change.The actual rotation speed values n_(ist) , however, follow the rotationspeed reference values n_(soll) with a delay equal to the equivalenttime constant of the speed control used. Due to this time lag, theactual rotation speed is not suitable for determining the time ofinjection. In addition, the circular shape test makes it clear thatcompensation is not required before the transition from one quadrant toanother. The transition of an axis from one quadrant to another in aparticular path, however, is characterized by the passage of thecorresponding rotation speed reference value n_(soll) through zero. Thedirection of the passage through zero is determined as the condition forthe time of injection of a correction pulse. If the passage takes placefrom the positive to the negative rotation speed domain, the rotationspeed reference value n_(soll) is compensated by a subtraction of thecorrection pulse. In the other case of a passage through zero from thenegative to the positive rotation speed domain, the correction pulse isadded to the corresponding rotation speed reference value n_(soll).

In order to implement a frictional precontrol with quadrant errorcompensation as an integral component of an axis control, the frictionalprecontrol is integrated in a conventional axis control as an additionalprecontrol branch. Such a device in accordance with the presentinvention is shown in FIG. 7. Normally, position reference valuesx_(soll) are supplied to the input side in axis control. These positionreference values are then differentiated according to the presentinvention in a first differentiator D1, yielding rotation speedreference values. These rotation speed reference values n_(soll) triggeran injection logic AL, which is responsible for resetting (R) a pulsegenerator I which generates correction pulse n_(korr) when the rotationspeed reference value n_(soll) passes through zero. The rotation speedreference value n_(soll) obtained by the first differentiator D1 issupplied to a second differentiator D2, which generates the accelerationreference value asoll, which is used to trigger storage device K, wherethe acceleration-dependent correction amplitude is stored. Then thecorrection amplitude n_(a) corresponding to the desired accelerationa_(soll) becomes available at the output of storage device K. This valueis supplied, as an initial value, to correction pulse generator I,preferably a DT1 element. The compensation or correction pulses n_(korr)generated by correction pulse generator I are finally added to theoutput value of the position controller LR of a conventional axiscontrol. A rotation speed reference value thus obtained is then normallysupplied to a rotation speed controller DR, usually a PI controller,whose output values are supplied to a machine-tool axis, whose positionreference value x_(ist) and actual rotation speed value n_(ist) are fedback to the axis controller. The rotation speed reference value n_(soll)is supplied as a negative feedback to the input of rotation speedcontroller DR, but only after the correction pulse n_(korr) has beenadded to the output value of position controller LR. The actual positionvalue x_(ist) is supplied to the input of position controller LR as anegative feedback, i.e., deducted from the incoming position referencevalue x_(soll). The position reference values used for the frictionalprecontrol are not affected by this process.

The labor-intensive manual determination of the knee points for theamplitude characteristic curve can also be avoided and the processautomated with the help of the present invention. The relativelytime-consuming determination of characteristic lines or characteristicline fields of the acceleration-dependent amplitude are learnedautomatically with the help of a self-learning knowledge-based systemand thus the startup time of the machine is reduced.

An advantageous embodiment with the use of a self-learningknowledge-based system determines the aforementioned dependence of thecorrection amplitude on the acceleration with a neural network in itslearning phase with the purpose of achieving the accuracy of thepreviously manually determined solution for quadrant error compensation.An error back-propagation network is used as a particularly suitablerepresentative of the group of neural networks. Neural networks NN canlearn the relationships among a plurality of inputs and outputs;therefore not only can they learn characteristic curves, but alsocharacteristic curve fields. In order to learn theacceleration-dependent correction amplitude n_(a) (a), the originalcharacteristic curve according to FIG. 6 is replaced with acharacteristic curve field, which replaces the relationship between thecorrection amplitude n_(a) and decay time T on the one hand as afunction of the input value position in the form of the positionreference values x_(soll) and acceleration a on the other hand. Thisimproves the accuracy of the compensation process that can be achievedfor large axis travel paths. The time of injection for the correctionpulses is predefined, as previously, by an injection logic AL, i.e., notlearned from the neural network.

In the case of error back-propagation networks, learning is doneaccording to the generalized delta rule in the form of an errorback-correction process. To execute this learning rule, the neuralnetwork NN needs a learning criterion according to which it can beadjusted in the training phase (learn phase) whether the correspondingdesired output values are to be assigned to one or more input values.The quality and accuracy with which the desired output values can beobtained are affected by the selection of this learning criterion. Inorder to determine an advantageous learning criterion, the presentinvention uses the relationship between the rotation speed referencevalue n_(soll) and the actual rotation speed n_(ist), which isestablished without quadrant error compensation measures. Assuming asinusoidal variation of the rotation speed reference value, the actualrotation speed will follow a similar variation according to anequivalent time constant of the rotation speed controller. Because ofthe friction effects and other mechanical disturbances such as slacknessand torsional effects, however, the actual rotation speed n_(ist)differs from the ideal sinusoidal variation. Therefore, after passagethrough zero, an error area appears between the ideal actual rotationspeed n_(ideal) and the actual rotation speed n_(ist). The size of thiserror area is used as the learning criterion. The training process of aneural network NN takes place according to the exemplary training dataand this data material must be processed in several epochs until thelearning process converges; therefore, a variation of the actualrotation speed value n_(ist), where the error area oscillates around theideal sinusoidal variation of the desired ideal actual rotation speedn_(ideal) due to the learning process or due to disturbances in thecontrol circuits is not suitable for determining the error area bysimple summation. A simple summation would yield a zero error area ifthe positive and negative components were of the same size. If thepositive and negative components of the error area were different, thecalculation would be very inaccurate in this case as well. Therefore, inthe case of a simple summation, an incorrect injection or correctionamplitude would be determined for the quadrant error compensation. Thesituation is more complicated when the variation of n_(ist) repeatedlyoscillates around the ideal sinusoidal variation due to disturbances ofthe actual rotation speed. In such cases, simple summation of the errorareas also results in problems. Therefore, for the accuratedetermination of the error area in the present invention, distinction ismade between the ideal actual rotation speed n_(ideal) and the actualrotation speed n_(ist) starting from the time of injection, so that thecorresponding acceleration results from the rotation speed. Whendifferentiating, the difference between the rotation speed referencevalue n_(soll) and the actual rotation speed n_(ist), due to a timeshift by the equivalent time constant of the rotation speed controller,disappears. The partial areas obtained this way are integrated again toundo the differentiation. Then integration is performed once again overthe error area obtained. The resulting area is contiguous and has apositive value. As an optimization criterion for the learning rule, itis considered that the injection or correction amplitude n_(a) (a) islearned with sufficient accuracy if the error area F thus obtained isequal to zero. If this optimization criterion is met, the neural networkhas stored the variation of a suitable characteristic curve of theamplitude with sufficient accuracy in its knowledge base represented bythreshold values and weights. If the appropriate input values areapplied to its input, the corresponding outputs for calculating thecorrection amplitude are delivered.

In a device using an error back-propagation network NN instead of afixed characteristic curve of the amplitude, the neural network NNassumes the role of the storage device K. It is supplemented by a logicunit L, which processes the difference between rotation speed referencevalue n_(soll) and the actual rotation speed n_(ist) fed back from theoutput of axis A formed in a subtractor SUB, and determines therefromthe error area F by the aforementioned process. The error F is suppliedto the output of neural network NN. The position reference valuesx_(soll), the rotation speed reference value n_(soll) derived indifferentiator D1, and the acceleration reference value a_(soll) derivedin differentiator D2 and which is previously filtered in a filter FL,are supplied to the input layer of neural network NN as input values.After a successful learning phase, neural network NN delivers the valueof the correction amplitude n_(a) and time constant T as output valuesin the working phase, which are then supplied to pulse generator Ithrough injection logic AL, triggering said pulse generator.

An advantageous alternative embodiment replaces the measured andtherefore fixed characteristic curve of the frictional precontrolamplitude with a very simple neural network, a "CEREBELLAR MODELARTICULATION COMPUTER" or, for short, CMAC. This is a highly simplifiedmodel of signal processing, such as performed by the cerebellum. In theform used in the invention, the CMAC is basically reduced to a table ofamplitude values, which are adaptively optimized through a plurality ofapproximation steps. This means that the characteristic curve of theamplitude is divided into a plurality of steps or table entries, and thesteps can be smoothed in a simple manner with linear interpolationbetween the table entries. In this way, a considerably higher degree offlexibility is gained regarding the shape of the characteristic curveand the frictional precontrol can be adapted to a given machine if sodesired.

In order to determine the table values, the machine tool performs aplurality of passages through zero, e.g. in circular travel in bothneural networks. The CMAC optimizes the amplitude values using thedifferences between the actual rotation speed values n_(ist) and therotation speed reference values n_(soll). Ten to fifteen iterations areusually sufficient for this approximation process.

The characteristic curves of the amplitudes of different axes are seldomidentical; therefore, each axis is provided with its own neural networkNN in both processes: neural error back-propagation network and CMAC.Due to the simple design, the additional computations for CMAC arelimited to a few additions and multiplications timed by the positioncontroller. This has the advantage that little additional computation isneeded, adaptation can be carried out quickly, the system is flexibleand can also be implemented inexpensively. The neural frictionalprecontrol according to the present invention makes it possible toreduce the time required for the determination of a suitablecharacteristic curve of the amplitude from a day to approximately onehour. The contour error at the quadrant transitions is up to ten timessmaller, with either manual or neural frictional precontrol, thanwithout correction pulses. Furthermore, deviations caused by slacknessand torsion are compensated for. In this case, the complexity of thealgorithm and the computations of the neural frictional precontrolrequired are only slightly greater than in the manual solution based oncharacteristic curves. In addition, greater application flexibility isachieved with neural frictional precontrol, because the shape of thecharacteristic curve can be adapted to the actual conditions morequickly and accurately than a human being would normally be capable ofdoing.

A further improvement of the above-described process consists, accordingto the present invention, of the fact that it can be decided, forexample, when using a neural error back-propagation network NN for thelogic unit L, whether or not the learning rule should continue to beused in the working phase of the machine. If the learning rule isdisabled, the optimum weight settings and threshold settings oncecalculated are no longer modified in the knowledge base of the neuralnetwork NN. On the other hand, if the learning rule continues to be usedin the working phase, the neural frictional precontrol will continuouslyadapt itself to the changing operating conditions. In this way, wearphenomena, temperature effects, or changes in the lubricant, as well asincreased slackness effects can be automatically compensated for in theday-to-day operation. This makes additional maintenance work or constantrelearning of the optimum characteristic curve of the amplitudesuperfluous.

In addition to the two neural processes described, errorback-propagation network and CMAC, other neural networks can also beused for determining an optimum characteristic curve of the amplitude.Thus, with the present invention, also combined processes with neuralnetworks and fuzzy logic rules can be used. Such units, referred to asneuro-fuzzy systems, offer the advantage that rule-based priorknowledge, weighted by probabilities, can be introduced directly intothe topological structure of the neural network.

Such units, referred to as neuro-fuzzy systems, also offer the advantagethat the topology of the neural network can be optimized through fuzzyrules.

The process according to the present invention is used separately foreach machine axis concerned. Therefore, it can also be used on machineswith a single axis to compensate for non-linearities.

We claim:
 1. A method for the numerical control of machines with atleast one axis comprising the steps of:compensating for non-linearitiesdue to disturbances with a frictional precontrol that corrects arotation speed reference value of each axis, the correction of therotation speed reference values including the substeps of:injecting acorrection pulse into the corresponding rotation speed reference valueof each axis when the corresponding axis passes from one quadrant toanother with the corresponding change of signs at this axis, thecorrection pulse being injected during the passage through zero of therotation speed reference value, wherein:when the rotation speedreference value passes through zero from negative values to positivevalues, the correction pulse is added and when the rotation speedreference value passes through zero from positive values to negativevalues, the correction pulse is subtracted, the correction pulse has anacceleration-dependent amplitude, and the amplitude and duration of thecorrection pulse are determined in advance as characteristic curves orcharacteristic curve fields for different acceleration values for theparticular machine used, with the amplitude values being selected sothat they increase starting from a zero acceleration, run at a highlevel in the domain of medium accelerations and assume smaller valueswith further increasing acceleration, wherein the frictional precontrolis incorporated in an axis control as an additional precontrol branch.2. The method of claim 1, wherein the correction pulse is a DT1 pulsewith a decay time which is constant or decreases linearly withincreasing acceleration.
 3. A method for the numerical control ofmachines with at least one axis comprising the steps of:compensating fornon-linearities due to disturbances with a frictional precontrol thatcorrects a rotation speed reference value of each axis, the correctionof the rotation speed reference values including the substepsof:injecting a correction pulse into the corresponding rotation speedreference value of each axis when the corresponding axis passes from onequadrant to another with the corresponding change of signs at this axis,the correction pulse being injected during the passage through zero ofthe rotation speed reference value, wherein:the correction pulse has anacceleration-dependent amplitude, and the amplitude and duration of thecorrection pulse are determined in advance as characteristic curves orcharacteristic curve fields for different acceleration values for theparticular machine used through a self-learning knowledge-based systemin a learning phase, wherein a deviation from a desired actual rotationspeed and an actual rotation speed in the form of an error areaappearing in a rotation speed curve after passage through zero is usedas a learning criterion for the learning phase; wherein the frictionalprecontrol is incorporated in an axis control as an additionalprecontrol branch.
 4. The method of claim 3, wherein the correctionpulse is a DT1 pulse with a decay time which is constant or decreaseslinearly with increasing acceleration.
 5. The method of claim 3, whereinthe self-learning, knowledge-based system includes a neural multilayerPerceptron network with error back-correction.
 6. The method of claim 3,wherein the self-learning, knowledge-based system includes a neuralCerebellar Model Articulation Computer network.
 7. The method of claim3, wherein to determine the error area, the desired ideal actualrotation speed and actual rotation speed are first differentiatedstarting from the point of injection, whereby a constant distancebetween the rotation speed reference value and the actual rotation speedis eliminated, then integrated again over the error area.
 8. The methodof claim 5, wherein a learning rule for determining the variation of thecharacteristic curves and/or characteristic curve fields of theacceleration-dependent amplitude is further used in the work phase, sothat the frictional precontrol is constantly adapted to changedoperating conditions.
 9. The method of claim 3, wherein:the correctionpulse is injected at the time when the rotation speed reference valuepasses through zero; when the rotation speed reference value passesthrough zero from negative values to positive values, the correctionpulse is added and when the rotation speed reference value passesthrough zero from positive values to negative values, the correctionpulse is subtracted.
 10. A device for numerical control of machines withat least one axis, the device comprising:a frictional precontrolintegrated in an axis control as an additional precontrol branch; afirst differentiator for differentiating position reference values,thereby obtaining a rotation speed reference value; a seconddifferentiator for differentiating the rotation speed reference value,thereby obtaining a reference acceleration; an injection logic whichreceives the rotation speed reference value and controls an injectiontime of a rotation speed correction value when the rotation speedreference value nsoll passes through zero, the correction value havingan amplitude; a storage device containing an acceleration-dependentcharacteristic curve of the amplitude, which storage device is triggeredby the reference acceleration obtained, wherein the characteristic curveof the amplitude increases starting from a zero acceleration, runs at ahigh level in the area of medium accelerations, and assumes smallervalues when the acceleration further increases; and a correction pulsegenerator which receives the amplitude obtained using the characteristiccurve and which generates the rotation speed correction value and addsit to a position control signal of the axis control.
 11. A device fornumerical control of machines with at least one axis, the devicecomprising:a frictional precontrol integrated in an axis control as anadditional precontrol branch; a first differentiator for differentiatingposition reference values, thereby obtaining a rotation speed referencevalue; a second differentiator for differentiating the rotation speedreference value, thereby obtaining a reference acceleration; a neuralnetwork with an input for receiving the rotation speed reference valuesand acceleration reference values; a logical switch which generates anerror value from a difference of the rotation speed reference value andan actual rotation speed, the error value being supplied to the neuralnetwork; an injection logic which is supplied with an amplitude valueand a time constant by the neural network, the injection logiccontrolling an injection time of a rotation speed correction value; anda correction pulse generator which is controlled by the injection logicto generate the rotation speed correction value and to add it to aposition control signal of the axis control.